package br.com.app.ligasoccer.dao;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import br.com.app.ligasoccer.DatabaseHelper;
import br.com.app.ligasoccer.domain.Jogo;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class JogoDAO {

	private DatabaseHelper helper;
	private SQLiteDatabase db;
	
	public JogoDAO(Context context) {
		this.helper = new DatabaseHelper(context);
	}
	
	public SQLiteDatabase getDb() {
		if (this.db == null) {
			this.db = this.helper.getWritableDatabase();
		}
		return this.db;
	}
	
	public List<Jogo> listarJogos(String idLiga) {
		Cursor cursor = this.getDb().query(DatabaseHelper.Jogo.TABELA, DatabaseHelper.Jogo.COLUNAS, "liga_id = ?", new String[]{idLiga}, null, null, null);
		List<Jogo> lista = new ArrayList<Jogo>();
		if (cursor.moveToFirst()) {
			do {
				lista.add(new Jogo(cursor.getInt(0), cursor.getInt(1), cursor.getInt(2), cursor.getInt(3), cursor.getInt(4), cursor.getInt(5), new Date(cursor.getLong(6))));
			} while (cursor.moveToNext());
		}
		return lista;
	}
	
	public boolean salvarJogo(Jogo jogo) {
		ContentValues values = new ContentValues();
		values.put(DatabaseHelper.Jogo.MANDANTE_ID, jogo.getIdMandante());
		values.put(DatabaseHelper.Jogo.VISITANTE_ID, jogo.getIdVisitante());
		values.put(DatabaseHelper.Jogo.MANDANTE_PLACAR, jogo.getPlacarMandante());
		values.put(DatabaseHelper.Jogo.VISITANTE_PLACAR, jogo.getPlacarVisitante());
		values.put(DatabaseHelper.Jogo.LIGA_ID, jogo.getIdLiga());
		values.put(DatabaseHelper.Jogo.DATA, jogo.getDataDoJogo().getTime());
		
		long resultado = this.getDb().insert(DatabaseHelper.Jogo.TABELA, null, values);
		return resultado != -1 ? true : false;
	}
}
